this.add_actor(this._border);
this.set_child_above_sibling(this.bin, this._border);
this._sourceAlignment = 0.5;
+ this._muteKeys = true;
this._muteInput = true;
this.connect('notify::visible', () => {
this.connect('destroy', this._onDestroy.bind(this));
}
- vfunc_captured_event() {
- if (this._muteInput)
+ vfunc_captured_event(event) {
+ if (event.type() === Clutter.EventType.ENTER ||
+ event.type() === Clutter.EventType.LEAVE)
+ return Clutter.EVENT_PROPAGATE;
+
+ let mute = event.type() === Clutter.EventType.KEY_PRESS ||
+ event.type() === Clutter.EventType.KEY_RELEASE
+ ? this._muteKeys : this._muteInput;
+
+ if (mute)
return Clutter.EVENT_STOP;
return Clutter.EVENT_PROPAGATE;
else
this.opacity = 255;
+ this._muteKeys = false;
this.show();
if (animate & PopupAnimation.SLIDE) {
}
this._muteInput = true;
+ this._muteKeys = true;
this.remove_all_transitions();
this.ease({